package com.atguigu.dataSource;

import com.mchange.v2.c3p0.ComboPooledDataSource;
import org.junit.Test;

import java.beans.PropertyVetoException;
import java.sql.Connection;
import java.sql.SQLException;

/**
 * @author hjwStrart
 * @time 2022-03-09 21:26
 * @description com.atguigu.dataSource
 */
public class C3P0 {
//    方式一：
    @Test
    public void test1() throws PropertyVetoException, SQLException {

//        获取c3p0连接池
        ComboPooledDataSource dataSource = new ComboPooledDataSource();
//        设置连接四要素
        dataSource.setDriverClass("com.mysql.cj.jdbc.Driver");
        dataSource.setJdbcUrl("jdbc:mysql://localhost:3306/test?serverTimezone=UTC");
        dataSource.setUser("root");
        dataSource.setPassword("hjw123..");

//        通过连接池对数据库连接进行统一管理
//        设置连接池中的初始连接数
        dataSource.setInitialPoolSize(10);
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
//
    }

//    配置文件名必须为：c3p0-config.xml，不然就报错
    @Test
//    方式二：使用配置文件
    public void test2() throws SQLException {
//        有参就是用指定的配置，无参使用默认配置
//        参数就是： <named-config name="c3p0"> 的name值
        ComboPooledDataSource dataSource = new ComboPooledDataSource("helloc3p0");
        Connection conn = dataSource.getConnection();
        System.out.println(conn);
    }

}
